import { httpClient } from "@/api/httpWrapper";

export type UserResult = {
  /** 头像 */
  avatar: string;
  /** 用户名 */
  username: string;
  /** 昵称 */
  nickname: string;
  /** 当前登录用户的角色 */
  roles: Array<string>;
  /** `token` */
  accessToken: string;
  /** 用于调用刷新`accessToken`的接口时所需的`token` */
  refreshToken: string;
  /** `accessToken`的过期时间（格式'xxxx/xx/xx xx:xx:xx'） */
  expires: Date;
};

/** 刷新 Token 返回结果 */
export type RefreshTokenResult = {
  /** `token` */
  accessToken: string;
  /** 用于调用刷新`accessToken`的接口时所需的`token` */
  refreshToken: string;
  /** `accessToken`的过期时间（格式'xxxx/xx/xx xx:xx:xx'） */
  expires: Date;
};

/** 登录 */
export const getLogin = (data?: object) => {
  return httpClient.post<UserResult>("/api/auth/login", data);
};

/** 刷新`token` */
export const refreshTokenApi = (data?: object) => {
  return httpClient.post<RefreshTokenResult>("/api/auth/refresh-token", data);
};
